/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package session;

import entities.CompteBancaire;
import entities.OperationBancaire;
import entities.Utilisateur;
import java.util.Collection;
import java.util.List;
import javax.ejb.Stateless;
import javax.ejb.LocalBean;
import javax.persistence.EntityManager;
import javax.persistence.PersistenceContext;
import javax.persistence.Query;

/**
 *
 * @author Lionel Prado
 */
@Stateless
@LocalBean
public class GestionnaireUtilisateur {
    @PersistenceContext(unitName = "Tp3BanqueLionel-ejbPU")
    private EntityManager em;
   
    public void creerUtilisateur(String login, String password, String prenom, String nom, boolean val) {  
        Utilisateur u = new Utilisateur(prenom, nom, login, password, val);  
        persist(u); 
    } 

    public Utilisateur getUtilisateur(Long id) { 
        System.out.println("recherche en cours");
        return em.find(Utilisateur.class, id);
    }  
    
    public Collection<Utilisateur> getAllUtilisateurs() {
        Query query = em.createNamedQuery("Utilisateur.findAll");  
        return query.getResultList();  
    }

    public Collection<Utilisateur> getAllUtilisateursSaufUserCourant(Utilisateur u){
        Query query = em.createNamedQuery("Utilisateur.findAllExceptCourant");  
        query.setParameter("idUserCourant", u.getId());
        return query.getResultList();  
    }
    
            
    public Utilisateur update(Utilisateur u) {
        System.out.println("cette fois on est ds gestionnaire..."); 
        return em.merge(u);  
    }
    
    public void delete(Utilisateur utilisateur) {      
        em.remove(em.find(Utilisateur.class, utilisateur.getId()));
    }
        
    public void persist(Object object) {
        em.persist(object);
    }
    
    
}

